home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 1 / PC Actual CD 01.iso / f1 / cimb.arj / RATON.C < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-02  |  3.0 KB  |  135 lines

  1. /*==============================================================================
  2.  
  3. FICHERO: RATON.C
  4.  
  5. AUTOR: ANTONIO LADESA JURADO
  6.  
  7. FECHA: 24/6/94
  8.  
  9. DESCRIPCION:
  10.  
  11.     Fichero que contiene las funciones externas para el control del ratón.
  12.  
  13. ==============================================================================*/
  14.  
  15.  
  16. /*---- MODULOS USADOS --------------------------------------------------------*/
  17.  
  18. #include <dos.h>
  19. #include "raton.h"
  20.  
  21. /*---- CODIFICACION DE LAS FUNCIONES OFRECIDAS -------------------------------*/
  22.  
  23.  
  24. /*---- FUNCION: extern int RATONiniciar(void) ----------------------------------
  25.  
  26.     Descripción:
  27.  
  28.         Esta función detecta la presencia del ratón y su driver.
  29.  
  30.     Retorno:
  31.  
  32.         - 0 si no existe el driver
  33.         - número de botones si existe
  34.         - -1 si hay error
  35.  
  36. ---- CODIGO: -----------------------------------------------------------------*/
  37.  
  38. extern int RATONiniciar(void)
  39. {
  40. union REGS inregs,outregs;
  41.  
  42. inregs.x.ax = 0x0000;
  43. int86(0x33,&inregs,&outregs);
  44.     /* si no existe driver de raton... */
  45. if(outregs.x.ax==0)
  46.     return(0);
  47.     /* si existe, devuelve el numero de botones */
  48. else
  49.     {
  50.     switch(outregs.x.bx)
  51.         {
  52.             /* dos */
  53.         case 0xFFFF:
  54.         case 0x0002:return(2);
  55.             /* tres */
  56.         case 0x0000:return(3);
  57.             /* desconocido */
  58.         default:    return(-1);
  59.         }
  60.     }
  61. }
  62.  
  63. /*---- FIN FUNCION -----------------------------------------------------------*/
  64.  
  65.  
  66. /*---- FUNCION: extern void RATONvisible(void) ---------------------------------
  67.  
  68.     Descripción:
  69.  
  70.         Esta función visualiza el cursor del ratón en la pantalla.
  71.  
  72. ---- CODIGO: -----------------------------------------------------------------*/
  73.  
  74. extern void RATONvisible(void)
  75. {
  76. union REGS inregs,outregs;
  77.  
  78. inregs.x.ax = 0x0001;
  79. int86(0x33,&inregs,&outregs);
  80. }
  81.  
  82. /*---- FIN FUNCION -----------------------------------------------------------*/
  83.  
  84.  
  85. /*---- FUNCION: extern void RATONoculto(void) ----------------------------------
  86.  
  87.     Descripción:
  88.  
  89.         Esta función oculta el cursor del ratón en la pantalla.
  90.  
  91. ---- CODIGO: -----------------------------------------------------------------*/
  92.  
  93. extern void RATONoculto(void)
  94. {
  95. union REGS inregs,outregs;
  96.  
  97. inregs.x.ax = 0x0002;
  98. int86(0x33,&inregs,&outregs);
  99. }
  100.  
  101. /*---- FIN FUNCION -----------------------------------------------------------*/
  102.  
  103.  
  104. /*---- FUNCION: extern int RATONestadoPulsar(int boton,int *x,int *y) ----------
  105.  
  106.     Descripción:
  107.  
  108.         Esta función obtiene el estado de los bortones y datos de pulsación.
  109.  
  110.     Parámetros:
  111.  
  112.         int boton : boton del que se desea obtener información
  113.         int *x : coordenada x de la última pulsación
  114.         int *y : coordenada y de la última pulsación
  115.  
  116.     Retorno:
  117.  
  118.         Devuelve el botón pulsado
  119.  
  120. ---- CODIGO: -----------------------------------------------------------------*/
  121.  
  122. int RATONestadoPulsar(int boton, int *x, int *y)
  123. {
  124. union REGS inregs,outregs;
  125.  
  126. inregs.x.ax = 0x0005;
  127. inregs.x.bx = boton;
  128. int86(0x33,&inregs,&outregs);
  129. *x = outregs.x.cx;
  130. *y = outregs.x.dx;
  131. return(outregs.x.ax);
  132. }
  133.  
  134. /*---- FIN FUNCION -----------------------------------------------------------*/
  135.